' {$STAMP BS2}
' following the line by using qti sensor if IR didn't detect object
'in front of the robot
'if it detect the robot will produce a tone after stoping


irDetectLeft VAR Bit
irDetectRight VAR Bit
irDetectSide VAR Bit
qti VAR Ni


FREQOUT 2, 1, 38500
irDetectLeft = IN9
irDetectRight = IN0


DO
  IF (irDetectLeft =1) OR (irDetectRight = 1) THEN
    right: HIGH 5: PAUSE 1:qti.BIT0=IN3:INPUT 5
    center: HIGH 6: PAUSE 1: qti.BIT1 = IN3: INPUT 6
    left: HIGH 7: PAUSE 1: qti.BIT2 =IN3:INPUT 7
    SELECT qti
      CASE %010 'forward
        PULSOUT 13,850
        PULSOUT 12,650
      CASE %011   'pivot right
        PULSOUT 13,850
        PULSOUT 12,750
      CASE %001  'rotate right
        PULSOUT 13,850
        PULSOUT 12,850
      CASE %110 'pivot left
        PULSOUT 13,750
        PULSOUT 12,650
      CASE %100 'rotate left
        PULSOUT 13,650
        PULSOUT 12,650
      ENDSELECT
    PAUSE 20
  ELSEIF (irDetectLeft = 0)OR   (irDetectRight =0)  THEN
     FOR counter = 1 TO   30  '
        PULSOUT 13,750
        PULSOUT 12,750
     NEXT counter
     FOR counter = 30 TO   39     ' producing a tone for few seconds
        FREQOUT 4, 2000, 3000
        PULSOUT 13,750
        PULSOUT 12,750
     NEXT counter
  ENDIF
 loop
 